DEPARTMENT:
|
|
Computer
Science
|
SUBJECT CODE/ COURSE TITLE: |
|
CS 603/Computer Architecture |
CLASS HOURS: |
|
4 Hours per Week |
CREDITS: |
|
4 |
PREREQUISTE: |
|
CS 504, CS 507 |
TEXTBOOKS: |
|
M. Mano, Computer
System Architecture, 3rd Edition, Prentice Hall, 1993. R. Britton, MIPS
Assembly Language Programming, Prentice Hall, 2004. |
REFERENCE: |
|
Internet. T. Sammes and B. Jenkinson, Forensic Computing: A practitioner’s Guide, Springer, 2000. Computer Magazines and Journals |
SEMESTER: |
|
Spring 2006 |
Preparer: |
|
Dr. A. Joseph |
Course
Description: This course provides basic knowledge of digital
computer organization and design at the machine and microprogramming levels
with the associated assembly language programming concepts. It highlights the organization and
architecture of the central processing unit, input-output peripherals, memory
unit, and pipelining and parallel processing.
It also presents computer forensics concepts in the assurance of the
integrity of information extraction from a personal computer and handling for
evidential purposes.
Professor:
|
|
Dr. A. Joseph
|
Office:
|
|
|
Telephone: |
|
212 346 1492 |
Email: |
|
|
Office Hours: |
|
Wednesday (NYC) |
Final examination:
|
|
40%
|
Mid-term examination: |
|
25% (No make up) |
Homework: |
|
|
Class preparation and participation: |
|
15% |
Project/Report: |
|
20% (A late project will be penalized 5 points per day
for 5 days) |
|
|
|
Extra credit assignment (Optional): Note: Only for students who are otherwise
fulfilling all of the other course requirements. |
|
5% (Due week 12) |
Above 92%
|
|
|
90% -- 92% |
|
|
85% -- 89% |
|
|
80% -- 84% |
|
|
75% -- 79% |
|
|
70% --74% |
|
|
65% -- 69% |
|
|
Below 65% |
|
|
Note: Grade is
computed to the nearest whole number. |
Learning Objectives and Outcomes
Objectives
Students are expected to accomplish the following
after the course is completed:
1.
Students will
acquire sound knowledge in the key principles and practices used in the design
and analysis of a digital computer system.
2.
Students will
understand the differences among the main types programming languages relative
to their effect on a digital computer processing speed; relationships between
the types of programming languages from a user perspective; and tradeoffs
between hardware and software in digital systems design; as well as develop the
analytical skills needed troubleshoot assembly language programs.
3.
Students will
have a thorough knowledge in of the main functional units (bus system, memory
unit, central processing unit, and input/output) of the Von Neumann model of a
digital system and their interrelationships.
4.
Students will
know the general ways used to improve the performance of computing systems,
understand the different levels at which these performance improvements are
made, and are to identify main types of multiprocessor architectures.
5.
Students will
understand the basics of computer forensics in its relation to computer
hardware; will acquire practical knowledge of disks and drives, partition
tables, and copying and imaging; will understand the principles of
computer-based evidence and the practices of computer examinations.
6.
Students will
develop team-building, social, and organizational skills that they can further
develop in other classes and in their professional careers.
Outcomes
These are outcomes, arranged in a manner corresponding
to the preceding objectives, that students will attain
by the end of the course:
1a. Demonstrate an understanding of the basic building
blocks of the functional units of a digital computer system.
1b. Use truth tables and algebraic expressions to describe
the functions of simple combinational circuits, design circuits from these
descriptions, design basic sequential circuits from truth tables, and analyze
related combinational and sequential circuits,
1c. Demonstrate that they are able to explain the storage
of numeric and nonnumeric data, able to discuss the relativity utility of
signed-magnitude and two’s complement representation of negative integers from
the point-of-view of a digital computing device.
1d. Explain the steps involve in the design of a basic
digital computer system.
2a. Demonstrate through descriptions, discussions, and or
illustrations an understanding of the purpose of an assembly language, its
programming objectives, and its relationship to machine language and high-level
languages.
2b. Understand and be able to explain the concepts of
assembly language directives, operators, macros, and program structure
2c. Demonstrate the ability to analyze assembly language
programs and to translate simple high-level language programs into
corresponding assembly language programs.
2d. Discuss the issues involved in hardware or software
implementation of an instruction in a digital computer instruction set.
2e. Demonstrate the ability to discuss, with appropriate
illustrations, the concepts of subroutine calls and interrupts at the assembly
level.
3a. Demonstrate an understanding of a digital computer bus
system and its role in the transfer of information between the functional
units.
3b. Discuss the layout and logical functions of the
central processing unit, memory unit, and input-output devices.
3c. Explain the interaction between the central processing
unit, memory unit, and input-output devices in the processing of information.
4a. Explain basic instruction level parallelism using
pipelining and the major hazards that may occur.
4b. Discuss the concept of parallel processing beyond the
classical Von Neumann model.
4c. Describe alternative architectures such as SIMD, MIMD,
and VLIW.
4d. Explain the concept of interconnection networks and
characterize the different approaches used.
4e. Discuss memory management in multiprocessing systems
with emphasis on the issues involve.
5a. Demonstrate a practical understanding of the
relatedness of computer forensics to digital computer hardware.
5b. Demonstrate the ability to differentiate between
copying and imaging.
5c. Demonstrate a practical understanding of physical
disks, logical drives, and interpretation of partition table.
5d. Demonstrate an understanding of the likely places
information is hidden on a personal computer.
5e. Explain information storage on floppy and hard disk
drives.
6a. Demonstrate an ability to work effectively in teams.
6b. Demonstrate the ability for effective verbal and
written communication.
Tentative
Examination Schedule:
Course Section |
Midterm Examination Date |
Final Examination Date |
CS 603/CRN 21522 |
|
|
Note 1: Facilitate and
promote learning under the best circumstances, you are encouraged to download
the lectures from Blackboard and study them as your main guide. All lessons
will be posted on Blackboard at least a week in advance. Use the textbook to
complement and perhaps, at times, elucidate the lecture notes.
Note 2: Some lessons
may be presented in a storytelling format while others will highlight
inquiry-based lecture-discussion. However, the course will centrally focus on
problem-solving. The homework problems will be solved in class as a means to
explain the concepts. To get the most out of the course, you are expected to
study the reading assignments and genuinely attempt each homework problem
before coming to class. For those problems you cannot solve, determine why you
are having difficulty obtaining the solution. The idea is to come to class
willing to learn and ready to ask questions about the course materials and
problems.
Note 3: In the interest
of learning, it is very important that
you foster an inquisitive mind – do all required assignments. Failing to do so
may diminish your ability to get the most out of each lesson and the class.
Note 4: LEARNING IS AN
ACTIVE PROCESS – IT IS MORE THAN PASSING EXAMS; IT’S ABOUT USING WHAT’S LEARNT
TO DO SOMETHING MEANINGFUL AND PRACTICAL. SO TO LEDARN SOMETHING IS TO
UNDERSTAND IT AND TO BE ABLE TO USE IT.
Note 5: It is very
important you read and familiarize yourself with CSIS Statement of Student Responsibilities (see Blackboard).
TOPICS COVERED
Weeks |
Topics
|
Assignments
|
|
|
|
|
|
1-3 |
Review: Digital logic circuits (logic gates, Boolean
algebra, combinational circuits, and flip-flops); Digital components (decoders, multiplexers,
registers, counters tri-state switches, buses, and memory units); and Data
representation (data types, 2’s complement, fixed-point, and
floating-point) (See Blackboard) |
Review: Chap. 1. Prob.:3-6, Review: Chap 2. Prob.: 3, 8, 12, and 19-22. Review: Chap. 3. Prob.: 3, 7, 17, and 23. |
|
|
|
|
|
4 |
Register Transfer and Microoperations: register
transfer (language, and bus and memory); Microoperations (shift, logic, and
arithmetic); and Arithmetic logic shift unit (ALU). |
Read: Chap. 4. Prob.: 1-4, 6-9, 11, 18, 19, and 21. |
|
|
|
|
|
5 |
Basic computer Organization and Design: Timing and
control; Instruction cycle; Computer instructions and types; and Design of
accumulator logic and basic computer |
Read: Chap. 5. Prob.:1-7, 9-10, 12, and 15-18 |
|
|
|
|
|
6 |
Programming
the Basic Computer: Machine language; Assembly language; Assembler;
Program loops, subroutines, and Programming arithmetic and logic operations |
Read: Chap. 6. Prob. 1-7, 11-14, and 18 |
|
|
|
|
|
7 |
Microprogrammed Control: Microarchitecture; Control
memory; Address sequencing; Microinstructions; Example; and Control unit
design. |
Read: Chap. 7. Prob.: 5, 6, 11-14, 20, and 21. |
|
|
|
|
|
8-9 |
Central Processing Unit (CPU): Register and stack
organization; Instruction formats; Addressing modes; Data transfer and
manipulation; Program control; and Comparison of CISC and RISC architectures. |
Read Chap.: 8. Prob.: 6-9, 11, and 13-16. |
|
|
|
|
|
9-10 |
Input/Output Organization: Peripheral devices,
Interface; Asynchronous data transfer; and Transfer modes (programmed I/O,
interrupt, DMA, and IOP); Encoding methods and formats for floppy disks. |
Read Chap. 11. Prob.: 1, 2, 6, 7, 11-16, and 29. |
|
|
|
|
|
10-11 |
Memory Organization: Memory hierarchy; Main memory;
Auxiliary memory; Associative memory; Cache memory, Virtual memory, and
Memory management; Boot sequence and POST; Master boot record and partitions;
Directories and file systems, and hiding information; Main issues and
physical construction (heads, tracks, and cylinders) of disk geometry;
Formation of addressable elements; Hard disk interfaces; Encoding methods and
formats for hard disks; Formatting process. |
Read Chap. 12. Prob.: 1-8, 13, 15-20, 23, and 24. |
|
|
|
|
|
|
|
|
|
11-12 |
Pipeline and Multiprocessors: Implementations of
simple datapaths; Instruction pipelining; Introduction to instruction-level
parallelism; Superscalar architecture; Branch prediction; Prefetching;
Multithreading; Introduction to SIMD, MIMD, VLIW, and EPIC; Systolic
architecture; Interconnection networks (hypercube, shuffle-exchange, mesh,
and crossbar); Shared memory systems; Cache coherence; and Memory models and
memory consistency. |
Read Chap. 9 (sections 1, 2, 3, 4, 6, 7) and 13
(sections 1, 2, 4, 5) Prob.: 9/2, 3, 4, 7, 9) and 13/1, 3, 6, 8, 13, 14) |
|
|
|
|
|
13 |
Treatment of Personal Computers: Guide to Good
Practice; Principles of Computer-Based Evidence; Search and Seizure,
Intelligence, Preparation, and Briefing; Operating Dilemma; Shutdown,
Seizure, and Transportation; Computer Examinations; Physical Disks and
Logical Drives; Interpreting Partition Tables; and Imaging and Copying. |
Read Chap. 6 ( Sammes and Jenkinson) Prob. : To be assigned |
|
|
|
|
|
14 |
Final Examination. |
|
|
|
|
|
|
|
|||
|
|
||
|
|
||
Note 1: This course
is structured around freely formed small collaborative groups in a
cooperative learning environment. Students are encouraged to work together in
their respective groups to form effective and productive teams that share the
learning experience within the context of the course, help each other with
learning difficulties, spend time to get to know each other, and spend time
each week to discuss and help one another with the course work (content and
assignments). Each group member is responsible for the completion and
submission of each assignment. Each group member will be individually graded.
|
|||
|
|||
|
|||
Group project: Students in
small groups of two to four will participate in a project or research and
prepare a report that may involve the use of a low level or high-level
programming language. In this project, students will write a program to
determine the solution of a technical problem, and then demonstrate their
knowledge and understanding of how the program is processed in the typical
digital computer system. Assignment of
grade to individual students for group project will be based upon their
involvement in the following items: programming, report writing, proofreading
and correction of programming codes and written report, and combinations of
the above. |
|||
|
|||
|
|||
Web support: This course
is supported with most or all of the following Blackboard postings: lesson
questions, lessons (PowerPoint), instructions and guidelines pertaining to
the course, computer architecture and related news, group and class
discussions boards, email correspondence about the course, homework
solutions, examination grades, and miscellaneous course related activities
and information. |
|||
|
|||
|
|||
Supplementary materials: Handouts in
class or web postings of current events and issues affecting computer
architecture. Some books that may be
helpful for the course will be posted on Blackboard. |
|||
|
|||
In
class activity and participation: Students are
recommended to bring to class current newsworthy events in computer
organization/architecture and related news to share with the class. Students will inform the class of the news
events and their significance to computing.
The collaborative groups are encouraged to function
outside of the classroom. Collaborative group activities will be reinforced
inside the class during the lessons. Student groups are encouraged to
function cohesively and to participate in class activities. |
|||
Students are strongly encouraged to download posted
lessons from Blackboard, review them, and should ask intelligent questions
about the material in these lessons. Every effort will be made to present each lesson
using the storytelling problem solving format supported with subsequent
discussion and elaboration on the central points of the lesson. The key elements of a story are the following: casuality, conflict, complication, and character. |
The following excerpts about collaborative learning
are from research documents:
·
In the university
environment, educational success and
social adjustments depend primarily on
the availability and effectiveness of developmental academic support systems.
·
Most organized learning occurs in some kind of group group characteristics
and group processes significantly contribute to success or failure in the
classroom and directly effect the quality and quantity
of learning within the group.
·
Group work invariably produces tensions that are
normally absent, unnoticed, or suppressed in traditional classes. Students bring with them a variety of
personality types, cognitive styles, expectations about their own role in the
classroom and their relationship to the teacher, peers, and the subject matter
of the course.
·
Collaborative
learning involves both management and decision-making skills to choose among
competing needs. The problems
encountered with collaboration have management, political, competence, and
ethical dimensions
·
The two key underlying principles of the collaborative
pedagogy are that active student involvement is a more powerful learning tool
than the passive attendance and that students working in groups can make for
more effective learning than students acting alone. The
Favorable outcomes of collaborative learning include greater conceptual
understanding, a heightened ability to apply concepts, and improved
attendance. Moreover, students become responsible for their own
learning is likely to increase their skills for coping with ambiguity,
uncertainty, and continuous change, all of which are characteristics of
contemporary organizations.
Who creates a new activity in the face of risk and
uncertainty for the purpose of achieving success and growth by identifying
opportunities and putting together the required resources to benefit from them?
Creativity is
the ability to develop new ideas and
to discover new ways to of looking at problems and opportunities
Innovation is
the ability to apply creative solutions to those problems and opportunities to
enhance or to enrich people’s lives.